package com.itheima.health.dao;

import com.github.pagehelper.Page;
import com.itheima.health.pojo.CheckGroup;
import com.itheima.health.pojo.CheckItem;
import com.itheima.health.pojo.Setmeal;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CheckGroupDao {
    /**
     * 检查组分页查询
     * @param queryString
     * @return
     */
    Page<CheckGroup> findPage(@Param("query") String queryString);

    /**
     * 查询关系表中与检查项关联的数量
     * @param id
     * @return
     */
    Integer selectCheckitemCount(@Param("checkitemId") int id);


    Integer selectCodeOrName(@Param("code") String code,@Param("name") String name);

    /**
     * 新增检查组
     * @param checkGroup
     */
    void addCheckGroup(@Param("checkGroup") CheckGroup checkGroup);

    void addGroupAndItem(@Param("checkItems") List<CheckItem> checkItems,@Param("groupId") Integer id);

    CheckGroup selectGroupById(@Param("groupId") Integer id);

    List<Integer> selectItemIdsByCheckGroupId(@Param("groupId") Integer id);

    void updateGroup(@Param("group") CheckGroup checkGroup);

    List<Setmeal> selectSetmealRelevanceGroup(@Param("groupId") Integer id);

    void deleteGroup(@Param("groupId") Integer id);

    void deleteGroupAndItem(@Param("groupId") Integer id);

    List<CheckGroup> findAll();
}
